Writing data, erasing data and reading data to and from memory cells can introduce noise into the process, which will result in errors in the data read from the memory cells. To ensure that the data is error free following a read operation, error correction techniques are employed. For example, error correction codes (ECC) are used to encode the data before it is written to the memory cells and then the encoded data are decoded following the read operation. A code that is used to correct more than one error in data is, for example, Bose-Chaudhuri-Hochquenghem (BCH). With ECC, redundant information is stored or transmitted alongside the regular information bearing data, to permit an ECC decoder to deduce the originally transmitted or stored information even in the presence of errors.
Depending on the number of error corrections desired, BCH codes take up a certain amount of area and consume a certain amount of power. In order to provide a greater number of error corrections, more implementation space for BCH encoders is required and more power must be consumed during operation. Thus, limitations exist with conventional BCH encoding technology.
In this description, reference is made to the drawings in which like reference numerals may indicate identical or functionally similar elements. The drawings referred to in this description should not be understood as being drawn to scale unless specifically noted.